In application streaming, a host system may execute an application and stream video rendered for the application to a remote computing device used by a user. The user may then interact with the application based on the video streamed to the computing device. The video generated by the host system may be captured on the host system as frames, encoded as video bit-streams, and sent to the client for decoding and playback.
To maintain high interactivity, the reduction of latency between content generation at the host system and content playback at the client may be desired. Latency in application streaming may lead to unsatisfactory user experiences. For example, latency may cause an application to seem unresponsive or cause lag. Latency may be due to in large part to three factors, host system processing time, client processing time, and network transport time. Host system processing time and client processing time may be largely dependent on the computational resources available and may not vary much across frames. However, network transport time may increase as an encoded bit-stream size of a frame increases for a given network bandwidth.